home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ccdl150l.zip / IO / FPUTC.SRC < prev    next >
Text File  |  1997-03-24  |  2KB  |  125 lines

  1.     SECTION    code
  2.     XDEF    _fputc
  3. ;
  4. ; Line 7:    {
  5. ;
  6. _fputc:
  7.     LINK    A6,#$0
  8.     MOVEM.L    D3/D4/A2/A3,-(A7)
  9.     MOVEA.L    ($C,A6),A2
  10.     MOVE.L    ($8,A6),D3
  11.     LEA    (__baseputc,PC),A3
  12.     MOVEQ    #$FFFFFFFF,D4
  13. ;
  14. ; Line 8:        if (stream->token != 0x444c)
  15. ;
  16.     CMPI.W    #$444C,($1C,A2)
  17.     BEQ    L_0
  18. ;
  19. ; Line 9:            return (-1)             ;
  20. ;
  21.     MOVE    D4,D0
  22.     BRA    L_2
  23. L_0:
  24. ;
  25. ; Line 10:        if (!(stream->flags & 0x0002                   )) {
  26. ;
  27.     MOVE.L    ($4,A2),D0
  28.     ANDI.L    #$2,D0
  29.     TST.L    D0
  30.     BNE    L_3
  31. ;
  32. ; Line 11:            stream->flags |= 0x0010                   ;
  33. ;
  34.     ORI.L    #$10,($4,A2)
  35. ;
  36. ; Line 12:            return (-1)             ;
  37. ;
  38.     MOVE    D4,D0
  39.     BRA    L_2
  40. L_3:
  41. ;
  42. ; Line 14:        if (!(stream->flags & 0x0040                   ) && c == '\n') {
  43. ;
  44.     MOVE.L    ($4,A2),D0
  45.     ANDI.L    #$40,D0
  46.     TST.L    D0
  47.     BNE    L_5
  48.     CMPI.L    #$A,D3
  49.     BNE    L_5
  50. ;
  51. ; Line 15:            if (_baseputc('\r',stream) == (-1)             )
  52. ;
  53.     MOVE.L    A2,-(A7)
  54.     MOVEQ    #$D,D0
  55.     ANDI.L    #$FF,D0
  56.     MOVE.L    D0,-(A7)
  57.     BSR    __baseputc
  58.     ADDQ.W    #$8,A7
  59.     CMP.L    D4,D0
  60.     BNE    L_7
  61. ;
  62. ; Line 16:                return (-1)             ;
  63. ;
  64.     MOVE    D4,D0
  65.     BRA    L_2
  66. L_7:
  67. ;
  68. ; Line 17:            return _baseputc('\n',stream);
  69. ;
  70.     MOVE.L    A2,-(A7)
  71.     MOVEQ    #$A,D0
  72.     ANDI.L    #$FF,D0
  73.     MOVE.L    D0,-(A7)
  74.     BSR    __baseputc
  75.     ADDQ.W    #$8,A7
  76.     BRA    L_2
  77. L_5:
  78. ;
  79. ; Line 19:        return _baseputc(c,stream);
  80. ;
  81.     MOVE.L    A2,-(A7)
  82.     MOVE.L    D3,-(A7)
  83.     BSR    __baseputc
  84.     ADDQ.W    #$8,A7
  85. L_2:
  86.     MOVEM.L    (A7)+,D3/D4/A2/A3
  87.     UNLK    A6
  88.     RTS
  89.     XDEF    _putc
  90. ;
  91. ; Line 24:    {
  92. ;
  93. _putc:
  94.     LINK    A6,#$0
  95. ;
  96. ; Line 25:        return fputc(c,stream);
  97. ;
  98.     MOVE.L    ($C,A6),-(A7)
  99.     MOVE.L    ($8,A6),-(A7)
  100.     BSR    _fputc
  101.     ADDQ.W    #$8,A7
  102. L_9:
  103.     UNLK    A6
  104.     RTS
  105.     XDEF    _putchar
  106. ;
  107. ; Line 28:    {
  108. ;
  109. _putchar:
  110.     LINK    A6,#$0
  111. ;
  112. ; Line 29:        return fputc(c,(_pstreams[1]));
  113. ;
  114.     MOVE.L    (__pstreams+$4,A5),-(A7)
  115.     MOVE.L    ($8,A6),-(A7)
  116.     BSR    _fputc
  117.     ADDQ.W    #$8,A7
  118. L_10:
  119.     UNLK    A6
  120.     RTS
  121.     SECTION    data
  122.     SECTION    bss
  123.     XREF    __baseputc
  124.     XREF    __pstreams
  125.